#include <bits/stdc++.h>
#define static constexpr let
#define crate namespace
#define inl inline
#define type using
#define use using
#define Let auto
#define fn auto
#define unsafe
#define mut
use crate std;
type i32 = int;
type i64 = long long;
type i128 = __int128;
type u32 = unsigned i32;
type u64 = unsigned i64;
type None = void;
template <typename T = i64>
type Vec = vector<T>;
type str = string;
type let = i64;
inl unsafe fn read() -> i64
{
    let f = 0, ans = 0;
    char c = getchar();
    while (!isdigit(c))
        f |= c == '-', c = getchar();
    while (isdigit(c))
        ans = (ans << 3) + (ans << 1) + c - 48, c = getchar();
    return f ? -ans : ans;
}
unsafe fn write(let x) -> None
{
    if (x < 0)
        putchar('-'), x = -x;
    if (x > 9)
        write(x / 10);
    putchar(x % 10 + '0');
}
inl unsafe fn printws(let x, char ch = ' ') -> None
{
    write(x);
    putchar(ch);
}
inl unsafe fn println(let x) -> None
{
    write(x);
    putchar('\n');
}
static N = 2e5 + 5;

unsafe fn main() -> i32
{
    // freopen(".in", "r", stdin);
    // freopen(".out", "w", stdout);
    return 0;
}